﻿using LogisticsTrackingWebApi.Models;

namespace LogisticsTrackingWebApi.Services
{
    /// <summary>
    /// 物流查询服务接口
    /// </summary>
    public interface ILogisticsService
    {
        /// <summary>
        /// 获取支持的物流公司列表
        /// </summary>
        /// <returns>物流公司列表</returns>
        Task<List<LogisticsCompany>> GetSupportedCompaniesAsync();

        /// <summary>
        /// 根据订单号查询物流信息
        /// </summary>
        /// <param name="orderNumber">订单号</param>
        /// <param name="companyCode">物流公司代码（可选）</param>
        /// <returns>物流订单信息</returns>
        Task<LogisticsOrder> GetOrderInfoAsync(string orderNumber, string? companyCode = null);
    }
}
